Distributed Arrays in the Functional Language Concurrent Clean
نویسنده
چکیده
In this paper, we show how distributed arrays can be implemented in Concurrent Clean without extensions to the language. We introduce the notion of remote values, associating a value at a remote processor with its location. By combining remote values with arrays we can build distributed arrays, having the same exibility as standard arrays. With the example of matrix-vector multiplication, we show that our distributed arrays are well suited to implement parallel algorithms with little overhead.
منابع مشابه
Parallel Elementwise Processable Functions in Concurrent Clean
The behaviour of concurrent and parallel programs can be specified in a functional style. Functional programming style has some inherent concurrent features. However, for a higher degree of expressing parallelism there is a need for new language constructs. In this paper we introduce Concurrent Clean moduls for evaluation strategies in order to control the evaluation degree, the dynamic behavio...
متن کاملThe Implementation and Efficiency of Arrays in Clean 1.1
We present a new approach to implementing arrays in a pure lazy functional programming language. The arrays can be updated destructively by using uniqueness typing, and the elements can be unboxed. We describe the implementation of these arrays in the functional programming language Clean 1.1. The performance of two sorting algorithms and a fast fourier transformation written in Clean using arr...
متن کاملFunctional Multicasting
Multicasting, where a message is sent from one processor to number of other processors, can optimise the communication for data-parallel functional computing. This paper describes the introduction of two multicast primitives in the functional language Concurrent Clean. The usage and performance are showed, with special emphasis on the usage in combination with distributed arrays. In a data-para...
متن کاملHigh Level Specification of I/O in Functional Languages
The interface with the outside world has always been one of the weakest points of functional languages. It is not easy to incorporate I/O without being allowed to do side-effects. Furthermore, functional languages allow redexes to be evaluated in any order while I/O generally has to be performed in a very specific order. In this paper we present a new solution for the I/O problem which we have ...
متن کاملCommunication Issues regarding Parallel Functional Graph Rewriting
Efficient communication is the basis of an implementation of a parallel language on a distributed machine architecture. This article handles about the communication mechanism that is needed to support parallel graph rewriting in Concurrent Clean. The danger of deadlock is imminent at several levels of such a system. Communication problems and their solutions are closely related to memory manage...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997